//
// Created by gejingguo on 16-3-19.
//

#ifndef DAWNREDIS_REDIS_H
#define DAWNREDIS_REDIS_H

#include "Error.h"

#include <string>

// SET,DEL操作支持事务

class Redis {
public:
    Redis();
    ~Redis();

    ErrorPtr Init(const std::string& host, int port, int msec);
    ErrorPtr Get(const std::string& key, std::string& value);
    ErrorPtr Set(const std::string& key, const std::string& value);
    ErrorPtr Del(const std::string& key);
    ErrorPtr IsExists(const std::string& key, bool& result);

    ErrorPtr Watch(const std::string& key);
    ErrorPtr Multi();
    ErrorPtr Exec();

private:
    struct redisContext* m_context;
};
#endif //DAWNKVREDIS_KVREDIS_H
